package main

import(
	"database/sql"
	"fmt"
	_ "github.com/go-sql-driver/mysql"
)



// go 语言连接mysql 示例

var db *sql.DB

func initDB()(err error)  {
	// 连接数据库
	dsn :="root:123456@tcp(127.0.0.1:3306)/go"
	db,err = sql.Open("mysql",dsn)
	if err != nil{ // 校验dsn 格式是否正确
		return
	}
	err = db.Ping()
	if err != nil{
		return
	}
	return
}

type user struct {
	id int
	name string
	email string
}


func main()  {

	err := initDB()
	if err != nil{
		fmt.Println(err)
	}
	fmt.Println("连接数据库成功!")


	var u1 user
	// 1.写查询sql语句
	sqlStr := `select id,name,email from user where id = 1`
	// 2.执行sql
	rowObj:= db.QueryRow(sqlStr) // 从连接池里拿出一个连接,去数据库查询单条记录
	// 3.拿到结果
	rowObj.Scan(&u1.id,&u1.name,&u1.email)
	// 打印结果
	fmt.Printf("u1:%#v\n",u1)


}

